package com.lu.pojo.reflection;

/**
 * @author luzhenfang
 * @date 2020 05 27
 * @description 类加载器
 */
public class TestSystemClassLoader {
    public static void main(String[] args) throws ClassNotFoundException {
        // 系统类加载器
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader);
        // 扩展类加载器(系统类加载器的父类)
        System.out.println(systemClassLoader.getParent());
        // 根加载器(C/C++写的 获取不到)
        System.out.println(systemClassLoader.getParent().getParent());
        // 当前类加载器
        Class<?> aClass = Class.forName("com.lu.pojo.reflection.TestClassLoader");
        System.out.println(aClass.getClassLoader());
        // 测试JDK内置类
        Class<?> aClass1 = Class.forName("java.lang.Object");
        System.out.println(aClass1.getClassLoader());
        // 获取系统加载器 可以加载的路径
        String paths = System.getProperty("java.class.path");
        String[] path = paths.split(";");
        for (String s : path) {
            System.out.println(s);
        }
    }
}
